// const arr = [1, 2, {name: 'zs'}];
// const newArr = arr.slice();
// newArr[2].name = 'ls';
// console.log(newArr);
// console.log(arr)
const arr = [1, 2, {name: 'zs'}];
const newArr = arr.concat();
newArr[2].name = 'ls';
console.log(arr); 
console.log(newArr);
let target = {
    a:{
         b:{
             c:1,
             d:2
     },
     e:3,
     d:4,
     f:5

     }
}
let souce = {
 a:{
     b:{
         c:1,
         d:2
         },
 e:3,
 d:4

 }
}
Object.assign(target,souce)
console.log(target); //{ a: { b: { c: 1, d: 2 }, e: 3, d: 4 } } f属性并没有复制过去
souce.a.b.c = 10
console.log(target.a.b.c); //10 对象target里c的值也发生了改变
